<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>has&deleteProperty</title>
  </head>
  <body>
    <script>
      // has
      // 如果Reflect.has()方法的第一个参数不是对象，会报错。
      console.log('--------旧写法---------')
      'assign' in Object // true
      console.log('命令式写法')
      console.log('--------新写法---------')
      Reflect.has(Object, 'assign') // true
      console.log('函数式写法')
      
      // deleteProperty
      // 如果Reflect.deleteProperty()方法的第一个参数不是对象，会报错。
      let a = { b: 1 }
      console.log('--------旧写法---------')
      delete a.b // true
      console.log('命令式写法')
      console.log('--------新写法---------')
      Reflect.deleteProperty(a, 'b') // true
      console.log('函数式写法')
    </script>
  </body>
</html>